<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        //扩展运算符是三个点(...)主要用于函数调用  可以将一个数组变为一个参数序列
        // function add(x,y){
        //     return x+y;
        // }
        // const numbers=[4,38];
        // let result=add(...numbers);
        // console.log(result);       //42

        //Array.from()用于将类似数组的对象和可遍历的对象转为数组
        //例如：
        let arryLike={
            '0':'a',
            '1':'b',
            '2':'c',
            length:3
        };
        //ES5
        // var arr1=[].slice.call(arryLike);   //['a','b','c']
        //ES6
        // let arr2=Array.from(arryLike)       //['a','b','c']
        //转换NodeList集合
        // let ps=document.querySelectorAll('p');
        // let ps2=Array.from(ps);
        // console.log(ps2);

        //Arrsy.of()用于将一组值转为数组
        //Array构造函数的问题
        // let a=Array();      //[]
        // let b=Array(3);     //[空属性,X3]
        // let c=Array(3,11,8);    //[3,11,8]

        // console.log(a);     //Array[0]
        // console.log(b);     //Array[1]
        // console.log(c);     //Array[2]

        //使用Array.of方法构造数组
        // let a=Array.of();   //[]
        // let b=Array.of(undefined)   //[undefined]
        // let c=Array.of(3)   //[3]
        // let d=Array.of(1,2,3)   //[1,2,3]

        // console.log(a);
        // console.log(b);
        // console.log(c);
        // console.log(d);

        //数组实例方法
        //1.find方法
        let arr=Array.of(2,4,6,8);
        console.log(arr.find(item=>item>2));

        //2.findIndex方法
        let arr2=Array.of(1,2,1,3);
        console.log(arr.findIndex(item=>item==2));
        //数组空位处理位undefined
        console.log([,1].findIndex(n=>true));   //0

        //3.fill方法
        let arr3=Array.of(1,2,3,4);
        //参数1：用来填充的值
        //参数2：被填充的起始位置
        //参数3(可选)：被填充的结束索引，默认为数组结尾
        console.log(arr3.fill(0,1,2));
    </script>
</body>
</html>